package com.exchange.used.service;

import com.exchange.used.config.query.Condition;

import java.util.List;
import java.util.Map;

public interface RestfulServiceI {

    /**
     * executeSave 批量保存或修改功能，根据ID是否存在 自动判断插入或修改（仅支持String类型数据(json)）
     * @param dataTable 表名称（自动转为首字母大写）
     * @param beans 用于保存的字段
     * @return 是否成功
     */
    boolean executeSaveOrUpdate(String dataTable, List<Map<String, Object>> beans);

    /**
     * 批量删除数据库表中ID对应的条目
     * @param dataTable 表名称（自动转为首字母大写）
     * @param id 待删除数据条目ID
     * @return 是否成功
     */
    boolean executeDelete(String dataTable, List<Object> id);

    /**
     * 高级SQL拼接工具实现的 多表查询（多条件、近似、分页 查询 多个实体）
     * @param condition 查询参数
     * @return 按条件查询后的所有信息
     */
    List<Map<String, Object>> executeQuery(Condition condition);

    /**
     * 高级SQL拼接工具实现的 多表查询后统计分页前总数据条目数（多条件、近似、分页 查询 多个实体）
     * @param condition 查询参数
     * @return 按条件查询后的所有信息的条目数
     */
    Map<String, Object> getCount(Condition condition);

}
